package com.example.ordersystem.service;


import com.example.ordersystem.dao.DishDAOByMybatis;
import com.example.ordersystem.domain.Dish;
import com.example.ordersystem.domain.DishInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class DishService {
    @Autowired
    DishDAOByMybatis dishDAOByMybatis;

    /**
     * 根据商品编号查询菜品.
     *
     * @param categoryNum 分类编号
     * @return 菜品
     */
    public List<Dish> findByCategoryNum(String categoryNum) {
        return dishDAOByMybatis.findByCategoryNum(categoryNum);
    }

    /**
     * 视图中查询所有菜品信息
     *
     * @return 所有的菜品信息
     */
    public List<DishInfo> findAllDishInfo() {
        return dishDAOByMybatis.findAllDishInfo();
    }

    /**
     * 根据菜品编号，查找菜品信息
     * @param num 菜品编号
     * @return 菜品信息
     */

    public Dish findDishByNum(String num) {
        return dishDAOByMybatis.findDishByNum(Integer.parseInt(num));
    }

    /**
     * 添加一个菜品
     *
     * @param add 待添加的菜品
     */
    public void addDish(Dish add,String categoryNum, String name,String price, String description) {
        add.setCategoryNum(Integer.parseInt(categoryNum));
        add.setName(name);
        add.setDescription(description);
        add.setPrice(Integer.parseInt(price));
        dishDAOByMybatis.addDish(add);
    }

    /**
     * 根据菜品编号，从基本表中删除一条菜品记录
     * @param num 菜品编号
     */
    public void deleteDish(String num) {
        dishDAOByMybatis.deleteDish(Integer.parseInt(num));
    }

    public List<DishInfo> selectDishInfoByKeyword(String keyword) {
        return dishDAOByMybatis.selectDishInfoByKeyword(keyword);
    }
}
